perm filename GAME.BB[F76,JMC] blob
sn#245804 filedate 1976-11-03 generic text, type T, neo UTF8
.DEVICE XGP
.FONT 4 "BASB30"
.FONT 3 "BASI30"
.FONT 2 "BDR30"
.FONT 1 "BDR30"
.EVENLEFTBORDER←ODDLEFTBORDER←1000
.PAGE FRAME 52 HIGH 83 WIDE;
.AREA TEXT LINES 4 TO 50;
.TITLE AREA HEADING LINES 1 TO 3;
.PLACE TEXT;
.EVERY HEADING(,,{PAGE});
.BEGIN NOFILL
.VARIABLE CHW
.CHW ← CHARW
.TURN OFF "βα#\←∞↑↓∪"
.TURN ON "∂{%"
.TURN ON "/" FOR "α"
.AT "∂∂(" CH ")" ⊂ CHARW←CH}∂(2){CHARW←CHW ⊃
∂∂(48)%3valmax%2[%3u%2, %3alpha%2, %3beta%2] ←
∂∂(80)%4if%2 %4n %3u%2 %4then%2 %3alpha
∂∂(80)%4else%2 /{%4if%2 %3ter%2[%3rectify%2 %4a %3u%2, %3alpha%2, %3beta%2] %4then%2 %3imval%2 %4a %3u%2 %4else%2 %3valmin%2[%3successors%2 %4a %3u%2, %3alpha%2, %3beta%2]}
∂∂(112)[λ%3s%2. %4if%2 ¬[%3s%2 > %3alpha%2] %4then%2 %3valmax%2[%4d %3u%2, %3alpha%2, %3beta%2]
∂∂(168)%4else if%2 %3s%2 < %3beta%2 %4then%2 %3valmax%2[%4d %3u%2, %3s%2, %3beta%2]
∂∂(168)%4else%2 %3beta%2]
∂∂(48)%3valmin%2[%3u%2, %3alpha%2, %3beta%2] ←
∂∂(80)%4if%2 %4n %3u%2 %4then%2 %3beta
∂∂(80)%4else%2 /{%4if%2 %3ter%2[%3rectify%2 %4a %3u%2, %3alpha%2, %3beta%2] %4then%2 %3imval%2 %4a %3u%2 %4else%2 %3valmax%2[%3successors%2 %4a %3u%2, %3alpha%2, %3beta%2]}
∂∂(112)[λ%3s%2. %4if%2 ¬[%3s%2 > %3alpha%2] %4then%2 %3alpha
∂∂(168)%4else if%2 %3s%2 < %3beta%2 %4then%2 %3valmin%2[%4d %3u%2, %3alpha%2, %3s%2]
∂∂(168)%4else%2 %3valmin%2[%4d %3u%2, %3alpha%2, %3beta%2]]
∂∂(48)%3linemax%2[%3u%2, %3line%2, %3alpha%2, %3beta%2] ←
∂∂(80)%4if%2 %4n %3u%2 %4then%2 %3alpha%2 . %3line
∂∂(80)%4else%2 /{%4if%2 %3ter%2[%3rectify%2 %4a %3u%2, %3alpha%2, %3beta%2] %4then%2 <%3imval%2 %4a %3u%2>
∂∂(167)%4else%2 %3linemin%2[%3successors%2 %4a %3u%2, %3beta%2 . `BETA-CUTOFF' , %3alpha%2, %3beta%2]}
∂∂(112)[λ%3s%2. %4if%2 ¬[%4a %3s%2 > %3alpha%2] %4then%2 %3linemax%2[%4d %3u%2, %3line%2, %3alpha%2, %3beta%2]
∂∂(168)%4else if%2 %4a %3s%2 < %3beta%2 %4then%2 %3linemax%2[%4d %3u%2, %3ext%2 %4a %3u%2 . %4d %3s%2, %4a %3s%2, %3beta%2]
∂∂(168)%4else%2 %3beta%2 . %3line%2]
∂∂(48)%3linemin%2[%3u%2, %3line%2, %3alpha%2, %3beta%2] ←
∂∂(80)%4if%2 %4n %3u%2 %4then%2 %3beta%2 . %3line
∂∂(80)%4else%2 /{%4if%2 %3ter%2[%3rectify%2 %4a %3u%2, %3alpha%2, %3beta%2] %4then%2 <%3imval%2 %4a %3u%2>
∂∂(167)%4else%2 %3linemax%2[%3successors%2 %4a %3u%2, %3alpha%2 . `ALPHA-CUTOFF' , %3alpha%2, %3beta%2]}
∂∂(112)[λ%3s%2. %4if%2 ¬[%4a %3s%2 > %3alpha%2] %4then%2 %3alpha%2 . %3line
∂∂(168)%4else if%2 %4a %3s%2 < %3beta%2 %4then%2 %3linemin%2[%4d %3u%2, %3ext%2 %4a %3u%2 . %4d %3s%2, %3alpha%2, %4a %3s%2]
∂∂(168)%4else%2 %3linemin%2[%4d %3u%2, %3line%2, %3alpha%2, %3beta%2]]
∂∂(48)%3treemax%2[%3u%2, %3trmax%2, %3trmin%2, %3alpha%2, %3beta%2] ←
∂∂(80)%4if%2 %4n %3u%2 %4then%2 <%3alpha%2, %3trmax%2, %3trmin%2>
∂∂(80)%4else%2 /{%4if%2 %3ter%2[%3rectify%2 %4a %3u%2, %3alpha%2, %3beta%2] %4then%2 /{%3imval%2 %4a %3u%2}[λ%3v%2. <%3v%2, <%3v%2>, <%3v%2>>]
∂∂(167)%4else%2 %3treemin%2[%3successors%2 %4a %3u%2, NIL, %3beta%2 . `BETA-CUTOFF' , %3alpha%2, %3beta%2]}
∂∂(112)[λ%3s%2. %4if%2 ¬[%4a %3s%2 > %3alpha%2] %4then%2 %3treemax%2[%4d %3u%2, %3trmax%2, [%3ext%2 %4a %3u%2 . %4add %3s%2] . %3trmin%2, %3alpha%2, %3beta%2]
∂∂(168)%4else if%2 %4a %3s%2 < %3beta%2 %4then%2 %3treemax%2[%4d %3u%2, %3ext%2 %4a %3u%2 . %4ad %3s%2, [%3ext%2 %4a %3u%2 . %4add %3s%2] . %3trmin%2, %4a %3s%2, %3beta%2]
∂∂(168)%4else%2 <%3beta%2, %3ext%2 %4a %3u%2 . %4ad %3s%2, NIL>]
∂∂(48)%3treemin%2[%3u%2, %3trmax%2, %3trmin%2, %3alpha%2, %3beta%2] ←
∂∂(80)%4if%2 %4n %3u%2 %4then%2 <%3beta%2, %3trmax%2, %3trmin%2>
∂∂(80)%4else%2 /{%4if%2 %3ter%2[%3rectify%2 %4a %3u%2, %3alpha%2, %3beta%2] %4then%2 /{%3imval%2 %4a %3u%2}[λ%3v%2. <%3v%2, <%3v%2>, <%3v%2>>]
∂∂(167)%4else%2 %3treemax%2[%3successors%2 %4a %3u%2, %3alpha%2 . `ALPHA-CUTOFF' , NIL, %3alpha%2, %3beta%2]}
∂∂(112)[λ%3s%2. %4if%2 ¬[%4a %3s%2 > %3alpha%2] %4then%2 <%3alpha%2, NIL, %3ext%2 %4a %3u%2 . %4add %3s%2>
∂∂(168)%4else if%2 %4a %3s%2 < %3beta%2 %4then%2 %3treemin%2[%4d %3u%2, [%3ext%2 %4a %3u%2 . %4ad %3s%2] . %3trmax%2, %3ext%2 %4a %3u%2 . %4add %3s%2, %3alpha%2, %4a %3s%2]
∂∂(168)%4else%2 %3treemin%2[%4d %3u%2, [%3ext%2 %4a %3u%2 . %4ad %3s%2] . %3trmax%2, %3trmin%2, %3alpha%2, %3beta%2]]
∂∂(48)%3rectify%2 %3p%2 ←
∂∂(80)%4prog%2 [%3z%2, %3q%2]
∂∂(153)%3q%2 ← %3commontail%2[%3p%2, %3p1%2]
∂∂(121)%3l1%2 %4if%2 %3equal%2[%3q%2, %3p1%2] %4then%2 %3go%2 %3l2
∂∂(153)revert%2[]
∂∂(153)%3go%2 %3l1
∂∂(116)l2%2 %3z%2 ← %3listsubt%2[%3p%2, %3p1%2]
∂∂(115)%3l3%2 %4if%2 %4n %3z%2 %4then%2 %3return%2 %3p
∂∂(153)update%2 %4a %3z
∂∂(153)z%2 ← %4d %3z
∂∂(153)go%2 %3l3
∂∂(48)commontail%2[%3u%2, %3v%2] ← %3reverse%2 %3commonhead%2[%3reverse%2 %3u%2, %3reverse%2 %3v%2]
∂∂(48)%3commonhead%2[%3u%2, %3v%2] ← %4if%2 %4n %3u%2 ∨ %4n %3v%2 ∨ ¬%3equal%2[%4a %3u%2, %4a %3v%2] %4then%2 NIL %4else%2 %4a %3u%2 . %3commonhead%2[%4d %3u%2, %4d %3v%2]
.END